Bibliography Report

Introduction

This report assesses the PPA Bibliography in regards to different measures and shows some information of the content. It does not assess the content of the sources but rather the bibliometric data.

Cleanliness of the Bibliography

Cleanliness of a bibliography is defined here as the quality of the bibliografic data in the bibliography. It does not concern any topical measures, only measures related to the bibliografic data in the bibliography.

The analysis is at the moment only done for DOIs as corresponding measures are not available at the moment for ISBNs and ISSNs and duplicate ISBNs and ISSNs can be rcorrect as div=fferent chapters of a book might be in the bibliography.

Entries with DOIs, ISBNs or ISSNs in Zotero

To identify a reference, the most widely used identifier is the DOI. The following table shows the number of references with a DOI and the number of unique DOIs.

To consider duplicate ISBNs or ISSNs as duplicates entries in the library is not waranted as e.g. differenc chapters of a book can be separate entries in the library and therefore lead to duplicates.

  • DOIs: 996 (80.06%) - 138 duplicates
  • ISBNss: 16 (1.29%) - 0 duplicates
  • ISBNss: 953 (76.61%) - 732 duplicates

DOIs in Zotero

The foilowing sections provide some more detailed analysis of the bibliography in Zenodo. The tables all contain clickable links which, shwen clicked, show the respective article in the Zotero bibliograpohy.

Duplicates

The following DOIs are duplicates in the bibliography. This table should be empty.

Show the code
if (length(bib_data$metrics$zotero_dois$duplicate) > 0) {
  data.frame(
    doi = bib_data$metrics$zotero_dois$duplicate,
    link = paste0(bib_data$bibliography$url, "/items/", names(bib_data$metrics$zotero_dois$duplicate))
  ) |>
    dplyr::mutate(
      doi = paste0('<a href="', link, '" target="_blank">', doi, "</a>"),
      link = NULL
    ) |>
    knitr::kable(
      caption = "DOIs in Zenodo which are duplicated",
      escape = FALSE
    )
}
DOIs in Zenodo which are duplicated
doi
SKMTCSGM 10.1111/ele.12325
ZEU2XBPM 10.1890/130330
ITAQ34S8 10.26786/1920-7603(2014)1
38EBH2KQ 10.1007/s13592-014-0316-z
PYDXHHJI 10.1111/j.1365-2311.2010.01234.x
RD3Z7D4T 10.1126/science.1185383
WVEZYS8X 10.1007/s10144-006-0010-8
7XV4RZW9 10.1098/rspb.2014.1358
3CHHG326 10.1016/j.tree.2013.05.008
2RK256GT 10.1146/annurev.ecolsys.34.011802.132355
ASJV5ZLZ 10.1371/journal.pone.0030641
VJMDYZ54 10.1038/nature10452
8YGU2AIA 10.1073/pnas.1218503110
UKC6IMQB 10.1073/pnas.1115559108
9RM2B8D7 10.1146/annurev.ecolsys.38.091206.095818
M3GPRR8W 10.1126/science.1127863
Z6DIJXQQ 10.1016/j.baae.2010.01.001
PJ72USDB 10.1111/j.1461-0248.2007.01061.x
VADN6LUQ 10.1098/rspb.2004.2909
UDB72QZB 10.3896/ibra.1.50.1.02
S5GHCK3W 10.1111/j.1365-2745.2012.01968.x
G6CZD6Q2 10.1890/120321
FUL2L98W 10.1890/03-5271
UMHMCQ9W 10.2980/i1195-6860-12-3-289.1
4XQ6JBI4 10.1016/j.biocon.2012.10.021
A6IPNURS 10.1111/j.1600-0706.2013.00644.x
DAYK5U2W 10.1126/science.1257259
3JVCKVKM 10.1371/journal.pone.0002771
487K4XHR 10.1111/j.1442-9993.2004.01376.x
K5H2FYID 10.1073/pnas.1323073111
EPSUJ937 10.1111/j.1461-0248.2010.01579.x
PHR83VI7 10.1016/j.biocon.2005.11.013
J5SSG6NE 10.1073/pnas.262413599
WWFBQD22 10.1111/j.1461-0248.2007.01018.x
QVZC647I 10.1046/j.1472-4642.2002.00148.x
8BB6H83X 10.1111/1365-2664.12385
T26DEHXP 10.1111/1365-2664.12385
6ILXDY58 10.1111/j.1461-0248.2007.01061.x
UDN9MUSE 10.1098/rspb.2004.2909
XKNBJCNV 10.3896/ibra.1.50.1.02
XKEWCXCA 10.1111/j.1365-2745.2012.01968.x
TATH842X 10.1890/120321
LJS2FJXG 10.1890/03-5271
5N62E4A5 10.1016/j.biocon.2012.10.021
2F4PUAJD 10.1111/j.1600-0706.2013.00644.x
B9IWS8QU 10.1046/j.1472-4642.2002.00148.x
ZS5I23CD 10.1126/science.1257259
A9PZJ8NA 10.1111/j.1442-9993.2004.01376.x
CX3WXJIV 10.1111/j.1600-0706.2010.18644.x
DKY9V3U4 10.1371/journal.pone.0002771
N4PUS2A4 10.1111/j.1461-0248.2008.01170.x
A794T4ZN 10.1016/j.tree.2010.01.007
VA4DBX4Z 10.1080/0005772x.2001.11099523
H5SSBJ33 10.1371/journal.pone.0021363
W6KIHF72 10.1016/j.ecolecon.2008.06.014
BC6ETLLH 10.1126/science.1230200
AJUTZI4U 10.1073/pnas.1012431108
XHAHZY9B 10.1007/s13592-014-0316-z
2N3GV7J6 10.1111/j.1365-2311.2010.01234.x
A9ABHH3Y 10.1007/s10144-006-0010-8
V8WVP533 10.1146/annurev.ecolsys.34.011802.132355
QVTBMMLC 10.3896/ibra.1.52.4.12
FTHPMCYA 10.1111/j.1523-1739.2009.01331.x
8ZL2RP6M 10.1146/annurev.en.22.010177.001141
AXIN7HHU 10.1111/j.1461-0248.2011.01669.x
V6VGJURY 10.1146/annurev.ecolsys.29.1.83
NQP27N4D 10.1126/science.aaa7031
IDJ4TIFH 10.1016/j.biocon.2006.07.023
2J9IIF8D 10.1017/s0889189300003179
RLDIUJNW 10.4039/ent133439-4
EC6RU4TS 10.1098/rspb.2006.3721
4N387LWY 10.1371/journal.pone.0035954
U2964AG7 10.2307/3071954
NC3I88VP 10.1146/annurev-ecolsys-102710-145042
DN836Z7G 10.1016/j.ppees.2010.02.005
9QG7M9YI 10.1016/j.cub.2008.08.066
JRXWV2XQ 10.1073/pnas.1115559108
YBSZQBBW 10.1073/pnas.1218503110
54KP8VYA 10.1126/science.1127863
4JZ6YT5C 10.1016/j.baae.2010.01.001
CJ784JEY 10.1073/pnas.1307438110
W3HLZB8H 10.1079/ijt20048
XTPX6FMJ 10.1073/pnas.1323073111
KH845RKT 10.1111/ele.12121
M63PKPKL 10.1016/j.biocon.2005.11.013
MBY6ZYTM 10.1098/rspb.2014.1799
2K57HPB7 10.1051/apido:2006027
BALEB3R9 10.3896/ibra.1.52.4.12
IEQS39YC 10.1371/journal.pone.0030641
LRWFAQWP 10.1016/j.cub.2008.08.066
V5XLA8TI 10.1073/pnas.1218503110
JIW52VJB 10.1146/annurev.ecolsys.38.091206.095818
YTXYUNRE 10.1073/pnas.1307438110
KV4YCKSC 10.1079/ijt20048
IXNBR5FB 10.1111/j.1461-0248.2010.01579.x
EGQXLPE3 10.1098/rspb.2014.1799
74FW2LX5 10.1111/ele.12325
73W6G85C 10.1051/apido:2006027
XHQ4G677 10.1371/journal.pone.0021363
2WKR9TBQ 10.1038/nature10452
JLR5VCU9 10.1016/j.ecolecon.2008.06.014
NXGWLKTW 10.1073/pnas.1012431108
2LRFV22A 10.1890/130330
2A5IMXME 10.1126/science.1230200
65XTVC8N 10.1111/j.1461-0248.2011.01669.x
QFP5VB5K 10.26786/1920-7603(2014)1
5L22ZQ5J 10.1126/science.1185383
RSXKWZBA 10.1016/j.tree.2013.05.008
CUPQHECF 10.1098/rspb.2014.1358
RCQ3U4NU 10.1016/j.ppees.2010.02.005
3JS5ATGE 10.1111/j.1461-0248.2008.01269.x
7VJLICRV 10.1098/rspb.2008.0405
GEXNIG3M 10.1146/annurev.en.28.010183.002203
AGAC3VGB 10.1146/annurev.en.28.010183.002203
MBLLD8Q2 10.1098/rspb.2006.3721
78WTYNH2 10.1073/pnas.262413599
KG6HJFC4 10.1111/j.1461-0248.2007.01018.x
QYNAZTSA 10.4039/ent133439-4
DIP25RQF 10.1371/journal.pone.0035954
CJB52BPU 10.1098/rspb.2004.2909
UFHNS4JV 10.2980/i1195-6860-12-3-289.1
852V2M3B 10.1111/j.1600-0706.2010.18644.x
89T8XZU3 10.1111/j.1461-0248.2008.01170.x
M8EZ855N 10.1016/j.tree.2010.01.007
76HJABBG 10.1080/0005772x.2001.11099523
T8ZV4T73 10.2307/3071954
AXKFB2KK 10.1111/j.1469-185x.2011.00216.x
SBUW532J 10.1111/j.1469-185x.2011.00216.x
HHVPM8K6 10.1146/annurev-ecolsys-102710-145042
NUTV32N4 10.1111/j.1461-0248.2008.01269.x
TC6WN7LB 10.1098/rspb.2008.0405
BPMF6BST 10.1111/j.1523-1739.2009.01331.x
GA4BP7DE 10.1146/annurev.en.22.010177.001141
6LQS4LHQ 10.1146/annurev.ecolsys.29.1.83
3HW29STE 10.1126/science.aaa7031
H99N6JRC 10.1016/j.biocon.2006.07.023
2Y3BE2H7 10.1017/s0889189300003179
WKZNSBE4 10.1111/ele.12121

Non Standard

All DOIs should be given as only the DOI without the resolver, i.e. not starting withhttp`. The following table shows all entries which do have a non-copnform DOI:

Show the code
#|

http <- grep("http", bib_data$metrics$zotero_dois$id_raw)
data.frame(
  doi = bib_data$metrics$zotero_dois$id_raw[http],
  link = paste0(bib_data$bibliography$url, "/items/", names(bib_data$metrics$zotero_dois$id_raw)[http])
) |>
  dplyr::mutate(
    doi = paste0('<a href="', link, '" target="_blank">', doi, "</a>"),
    link = NULL
  ) |>
  knitr::kable(
    caption = "DOIs in Zenodo which include a `http`",
    escape = FALSE
  )

Not Valid

Here we do acheck for the structural validity of the dois. This check needs to be improved. Of these 52 are not valid. These are:

Show the code
#|

data.frame(
  doi = bib_data$metrics$zotero_dois$not_valid,
  link = paste0(bib_data$bibliography$url, "/items/", names(bib_data$metrics$zotero_dois$not_valid))
) |>
  dplyr::mutate(
    doi = paste0('<a href="', link, '" target="_blank">', doi, "</a>"),
    link = NULL
  ) |>
  knitr::kable(
    caption = "DOIs in Zenodo which ar not valid",
    escape = FALSE
  )

Not in OpenAlex

To validate the existence and validity of the DOIs, we check if the DOIs are in the OpenAlex database.

Of the 996 unique DOIs in the library, 52 (5.22%) are in not in OpenAlex. This includes the non-valid DOIS, whci are filtered out in the table below.

Show the code
data.frame(
  doi = bib_data$metrics$zotero_dois$not_in_oa,
  link = paste0(bib_data$bibliography$url, "/items/", names(bib_data$metrics$zotero_dois$not_in_oa))
) |>
  dplyr::mutate(
    doi = paste0('<a href="', link, '" target="_blank">', doi, "</a>"),
    link = NULL
  ) |>
  knitr::kable(
    caption = "DOIs in Zenodo which ar not in [OpenAlex](https://OpenAlex.org){target='_blank'}",
    escape = FALSE
  )
DOIs in Zenodo which ar not in OpenAlex
doi
WFIZ8XS3 10.1007/BF00115313
53ATEI2G 10.1111/j.1365-294X.2006.02797.x
VVXJVXTC 10.1111/j.1365-294X.2010.04868.x
QUIAB4VC 10.3965/j.issn.1934-6344.2010.01.001-025
Y5NSPPUH e0118748
ALGHGTVC 10. 1111/1462-2920.12426
JGWG9J99 10.1111/j.1526-100X.2005.00061.x
JI4D77RA 10.1016/S0932-4739(96)80059-9
UTY8BT2Z 10.1641/0006-3568(2001)051[0625:RHOREM]2.0.CO;2
NCX3RHJN e111629
3F2TA86S 10.1371/Citation
9S7JVVPV 10.1128/AEM.67.5.2384-2387.2001
6IQGI2EY 10.1029/2007GB002947
9PCAHWCL 10.1023/A:1011371119290
LJITKCHV 10.1017/S0021859605005708
8MFQ3Z6R 10.1080/0005772X.1991.11099088
HS3NDPZ8 10.1890/1540-9295(2007)5[80:SHIUER]2.0.CO;2
KITA63RH 10.1097/01.ACM.0000426356.35520.8c
MUL6X3AQ 10.1023/A:1010719107006
BYJ8KZ8S 10.1002/ps.3290
KJN4HKCG 10.1890/ES12-00118.1
KRUFMNNX 10.5435/JAAOS-D-16-00646
97G5KICY 10.1111/j.1654-109X.2010.01098.x
4ZI4KS98 10.5751/
NE64KTWD 10.5751/ES-05035-170440
NQI9JI6I 10.1016/0167-8809(92)90087-R
J2C3RL9B 10.1128/mBio.00898-13
IMZPNPMY 10.1080/0005772X.1995.11099259
I3LT26P2 10.2984/1534-6188(2007)61[173:csoteb]2.0.co;2
QA7ES7M2 10.1603/0013-8746(2000)093[0415:mdriae]2.0.co;2
AYNKG7GY e1004816
RNCEEFLD 10.1016/S0076-6879(94)33028-X
NQSUD2SH 10.1371/journal.pone.0094459
UVHYPCNR 10.1007/S004420100803
VL46YDRX 10.1111/j.1469-185X.2011.00205.x
W4CARF3Q 10.1016/B978-0-12-396992-7.00002-2
WIS384DH 10.3896/IBRA.1.52.2.01
UH9IEFBP 10.1674/0003-0031(2007)157[92:ropact]2.0.co;2
CHJQP3V9 10.1080/0005772X.2000.11099481
5Q9RYXGI 10.1111/j.1365-294X.2007.03226.x
XEYP6SXP 10.1128/AEM.02227-09
YKPZXXGA 10.1007/BF00704877
TECNNC63 10.1080/0005772X.2004.11099624
GMYRYEKQ 10.1130/GSAT151A.1
MXUXAFMA 10.1007/BF00177048
P244RZKW 10.1603/0013-8746(2001)094[0545:sypfot]2.0.co;2
KQHBRFKS 10.1007/BF00226208
PYY5358N 10.1603/0013-8746(2002)095[0345:cpeabh]2.0.co;2
MWGG8XH5 10.3896/IBRA.1.52.2.18
P7L75H8Q 10.1111/j.1755-263X.2010.00097.x
VNB7C7I9 10.1641/B570306
8FC7HMHK 10.1890/1051-0761(2000)010[0689:BICEGC]2.0.CO;2

TODO Do Exist

TODO Finally we check, if these dois exist but are not ingested into OpanAlex. This is done using the doi.org resolver This is disabled at the moment and still needs o=to be implemented.

Bibliographic analysis

In the bibliographic analysis, we can only analyse the references in OpenAlex as the bibliographic metadata alanised is not in the Zotero liubrary but retrieved from OpenAlex.

Publication types

Works on Zenodo as well as on OpenAlex are of different types. Here we show these separate.

Show the code
bib_data$figure_types_data |>
  dplyr::arrange(
    from,
    desc(count)
  ) |>
  knitr::kable(
    caption = "Types of documents from the Zotero bibliography as well as from OpenApex."
  )
Types of documents from the Zotero bibliography as well as from OpenApex.
type count from
article 833 OpenAlex
review 103 OpenAlex
book-chapter 17 OpenAlex
letter 9 OpenAlex
book 6 OpenAlex
preprint 4 OpenAlex
other 2 OpenAlex
editorial 1 OpenAlex
erratum 1 OpenAlex
journalArticle 1148 Zotero
book 39 Zotero
manuscript 20 Zotero
bookSection 15 Zotero
conferencePaper 9 Zotero
report 4 Zotero
thesis 3 Zotero
artwork 2 Zotero
document 2 Zotero
webpage 2 Zotero
Show the code
bib_data$figure_types

Zenodo versus OpenAlex Types

The types entered in the Zenodo library and the types as retrieved from OpenAlex are not linked, therefore they can differ, This can indicate problems but not necessarily has to. These cases need to be carefully evaluated and here only a starting point is given.

NA in OpenAlex is likely caused by the doi not found in OpenAlex (not in there, not valid, non-standard DOI in Zenodo). NA in Zotero is linked to non-standard DOI entries (i.e. with http) whcih can therefore not be linked to OpenAlex data. If all DOIs are in standard format, there should be no NAs in this Table in the column Ferom Zenodo.

Improvements should be done after feedback.

Show the code
bib_data$metrics$types$comparison |>
  knitr::kable(
    col.names = c("Type from Zenodo", "Type from [OpenAlex](https://OpenAlex.org){target='_blank'}", "count"),
    caption = "Table giving the combination of types from Zenodo as well as [OpenAlex](https://OpenAlex.org){target='_blank'} and their frequency"
  )
Table giving the combination of types from Zenodo as well as OpenAlex and their frequency
Type from Zenodo Type from OpenAlex count
journalArticle article 918
journalArticle NA 207
journalArticle review 124
book NA 39
NA article 30
manuscript NA 20
journalArticle book-chapter 16
bookSection NA 15
journalArticle letter 9
conferencePaper NA 6
journalArticle book 6
report NA 4
journalArticle preprint 4
thesis NA 3
conferencePaper article 3
webpage NA 2
journalArticle other 2
artwork NA 2
document NA 2
NA review 2
journalArticle erratum 1
journalArticle editorial 1
NA book-chapter 1

Year of Publication

Show the code
bib_data$figure_pub_year
Warning: Removed 1 row containing missing values or values outside the scale range
(`geom_col()`).

Access Status of References

This is checked by using the OpenAlex retrieved works. Therefore it is li=mited to the works that are on OpenAlex. At the moment, only references with a DOI were retrieved from OpenAlex.

Show the code
bib_data$figure_oa_status

50 Most often cited Journals

Based on the data entered in the bibliography on Zenodo

Show the code
bib_data$figure_top_journals

This table contains all Journals as specified in the Zotero database.

Show the code
bib_data$figure_top_journals_data |>
  IPBES.R::table_dt("cited_journals")

Coutries of Institutes of all authors

In this section we will take a closer look at the countries from which ih the authors ot the publication come. THe data comes from OpenAlex and includes all authoirs without weighting.

Show the code
#|
#| fig-height: 10
#| fig-width: 10

bib_data$figure_top_country_map

This plot only contains the countries with more than 10 references.

Show the code
#|
#| fig-height: 10
#| fig-width: 10

bib_data$figure_top_country

This table contains all countries and the number of authorship.

Show the code
bib_data$figure_top_country_data |>
  IPBES.R::table_dt("top_countries")